Cache-Control: stale-while-revalidate
stale-while-revalidateを行う
Thundering Herd問題を解決する
RFC5861
https://datatracker.ietf.org/doc/html/rfc5861
Cache-Control: s-maxageと併用することが多い
「staleになるまでの時間」をs-maxageで指定する
例
code:response
Cache-Control: s-maxage=1, stale-while-revalidate=60
この指定の場合、
1秒間に数千のrequestが飛んできても、originが処理するのは1件で済む
staleになったあと、60秒はstaleなcacheを使用する
もちろんその間に1回でもrevalidateされれば、以降はそれが使われるmrsekut.icon
61秒間requestがなければ、次回はoriginから返す
https://web.dev/stale-while-revalidate/
live demoがある
参考
Stale While Revalidate - lucas.love
/mrsekut-book-4297119250/332
/mrsekut-book-4297119250/370
/mrsekut-book-4297119250/417
Cache-Control - HTTP | MDN